/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.meter.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springblade.core.tenant.mp.TenantEntity;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 设备表实体类
 *
 * @author John
 * @since 2020-08-15
 */
@Data
@TableName("t_device")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Device对象", description = "设备表")
public class Device extends TenantEntity {

	/**
	 * 设备ID
	 */
	@ApiModelProperty(value = "设备ID")
	private String deviceId;
	/**
	 * 设备编码
	 */
	@ApiModelProperty(value = "设备编码")
	private String sn;
	/**
	 * 设备类型
	 */
	@ApiModelProperty(value = "设备类型")
	private String deviceType;
	/**
	 * 设备名称
	 */
	@ApiModelProperty(value = "设备名称")
	private String title;
	/**
	 * 规格：单相/三相
	 */
	@ApiModelProperty(value = "规格：单相/三相")
	private String spec;
	/**
	 * 普通分摊
	 */
	@ApiModelProperty(value = "普通分摊")
	private Integer shared;
	/**
	 * 是否公摊表
	 */
	@ApiModelProperty(value = "是否公摊表")
	private Integer publicShared;
	/**
	 * 管理控制器ID
	 */
	@ApiModelProperty(value = "管理控制器ID")
	private String mid;
	/**
	 * 倍率
	 */
	@ApiModelProperty(value = "倍率")
	private BigDecimal comi;
	/**
	 * 起始码
	 */
	@ApiModelProperty(value = "起始码")
	private BigDecimal start;
	/**
	 * 最新读数
	 */
	@ApiModelProperty(value = "最新读数")
	private BigDecimal readValue;
	/**
	 * 读数时间
	 */
	@ApiModelProperty(value = "读数时间")
	private LocalDateTime readTime;
	/**
	 * 上次读数
	 */
	@ApiModelProperty(value = "上次读数")
	private BigDecimal preReadValue;
	/**
	 * 上次读数时间
	 */
	@ApiModelProperty(value = "上次读数时间")
	private LocalDateTime preReadTime;
	/**
	 * 分时段计费：尖值
	 */
	@ApiModelProperty(value = "分时段计费：尖值")
	private BigDecimal sharpReadValue;
	/**
	 * 分时段计费：尖值读取时间
	 */
	@ApiModelProperty(value = "分时段计费：尖值读取时间")
	private LocalDateTime sharpReadTime;
	/**
	 * 分时段计费：上次尖值
	 */
	@ApiModelProperty(value = "分时段计费：上次尖值")
	private BigDecimal preSharpReadValue;
	/**
	 * 分时段计费：上次尖值读取时间
	 */
	@ApiModelProperty(value = "分时段计费：上次尖值读取时间")
	private LocalDateTime preSharpReadTime;
	/**
	 * 分时段计费：峰
	 */
	@ApiModelProperty(value = "分时段计费：峰")
	private BigDecimal peekReadValue;
	/**
	 * 分时段计费：峰值读取时间
	 */
	@ApiModelProperty(value = "分时段计费：峰值读取时间")
	private LocalDateTime peekReadTime;
	/**
	 * 分时段计费：上次峰值
	 */
	@ApiModelProperty(value = "分时段计费：上次峰值")
	private BigDecimal prePeekReadValue;
	/**
	 * 分时段计费：上次峰值读取时间
	 */
	@ApiModelProperty(value = "分时段计费：上次峰值读取时间")
	private LocalDateTime prePeekReadTime;
	/**
	 * 分时段计费：平
	 */
	@ApiModelProperty(value = "分时段计费：平")
	private BigDecimal flatReadValue;
	/**
	 * 分时段计费：平值读取时间
	 */
	@ApiModelProperty(value = "分时段计费：平值读取时间")
	private LocalDateTime flatReadTime;
	/**
	 * 分时段计费：上次平值
	 */
	@ApiModelProperty(value = "分时段计费：上次平值")
	private BigDecimal preFlatReadValue;
	/**
	 * 分时段计费：上次平值读取时间
	 */
	@ApiModelProperty(value = "分时段计费：上次平值读取时间")
	private LocalDateTime preFlatReadTime;
	/**
	 * 分时段计费：谷
	 */
	@ApiModelProperty(value = "分时段计费：谷")
	private BigDecimal lowReadValue;
	/**
	 * 分时段计费：谷值读取时间
	 */
	@ApiModelProperty(value = "分时段计费：谷值读取时间")
	private LocalDateTime lowReadTime;
	/**
	 * 分时段计费：上次谷值
	 */
	@ApiModelProperty(value = "分时段计费：上次谷值")
	private BigDecimal preLowReadValue;
	/**
	 * 分时段计费：上次谷值读取时间
	 */
	@ApiModelProperty(value = "分时段计费：上次谷值读取时间")
	private LocalDateTime preLowReadTime;
	/**
	 * 月消费电量
	 */
	@ApiModelProperty(value = "月消费电量")
	private BigDecimal monthAmount;
	/**
	 * 计费状态：0未开始计费、1开始计费
	 */
	@ApiModelProperty(value = "计费状态：0未开始计费、1开始计费")
	private Integer feeStatus;
	/**
	 * 用电类型：工业用电、商业用电、家庭用电
	 */
	@ApiModelProperty(value = "用电类型：工业用电、商业用电、家庭用电")
	private Integer voltageType;
	/**
	 * 计费类型：普通计费；阶梯计费；分时段计费
	 */
	@ApiModelProperty(value = "计费类型：普通计费；阶梯计费；分时段计费")
	private Integer priceType;
	/**
	 * 开关状态
	 */
	@ApiModelProperty(value = "开关状态")
	private Integer switchStatus;
	/**
	 * 设备是否在线:state
	 */
	@ApiModelProperty(value = "设备是否在线:state")
	private Integer online;
	/**
	 * 最后通讯时间
	 */
	@ApiModelProperty(value = "最后通讯时间")
	private String lastConnectTime;
	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注")
	private String remarks;

}
